home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
C64Telecom
/
NOVA9.3-2.SDA
/
NOVA.ббс MODE
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2019-04-13
|
16KB
|
422 lines
10 DATA300,1200,2400,4800,9600,19200,38400
20 POKE787,PEEK(186):IFPEEK(6)=255THENPOKE45,PEEK(174):POKE46,PEEK(175):CLR:GOTO70
30 IFPEEK(787)<8ORPEEK(787)>16THENPOKE787,8
40 IFPEEK(2)<1ORPEEK(2)>2THENPOKE2,1:LOAD"NOVA9.3-1.ML",PEEK(787),1
50 IFPEEK(2)=1THENPOKE2,2:LOAD"NOVA9.3-2.ML",PEEK(787),1
60 POKE2,0:POKE55,48:POKE56,132:POKE643,48:POKE644,132:SYS38436:CLR
70 OPEN5,2,0,CHR$(6):ML=38400
80 SL=52608:DT=USR(2):SA=USR(4):PT=49161:OP=ML+15:XM=1024:RV=XM+256
90 MD=52224:M1=MD+18:SN=PEEK(648)*256:Q$=CHR$(34):DIMMS$(20),BD$(6)
100 LC$="":OF$="":NC=0:SC=0:NU=0:ND=0:NF=0:MB=PEEK(M1):FORI=0TO6:READBD$(I):NEXT
110 SP$=" ":DN$=""
120 POKESA,PEEK(SA)OR128:POKESA+4,PEEK(SA+4)OR128:POKE6,176
130 DP=PEEK(787):IFDP<8ORDP>16THENDP=8
140 OPEN15,DP,15:DP$="0:":GOSUB4090:D%(1)=DP:D$(1)=DP$:DD=1:SYSSL+6:CA=PEEK(780)
150 F1$="LOGIN.TXT":F2$="MENU.TXT":F3$="LOGOUT.TXT":GOSUB720
160 OPEN2,DP,2,DP$+"\STATS":INPUT#15,E:IFE>19THENCLOSE2:GOTO180
170 INPUT#2,LC$,OF$,NC,SC,NU,ND,NF:CLOSE2
180 IF(PEEK(M1+4)AND1)ANDCA=0THENPOKE780,MB:SYSML+33:SYSMD+9:SYSMD+3
190 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE":PRINT"[197]NTER THE TIME: [200][200]:[205][205]";
200 POKE211,16:P9=5:GOSUB2410:IFI$=""THEN
210 IFMID$(I$,3,1)<>":"THEN190
220 H=VAL(LEFT$(I$,2)):M=VAL(MID$(I$,4,1))*16+VAL(MID$(I$,5,1)):A=0:IFH>12THENH=H-12:A=1
230 IFH=0ORH=12THENH=12:A=1-A
240 H=128*A+H+INT(H/10)*6:POKE56587,H:POKE56586,M:POKE56585,S:POKE56584,0
250 P=1
260 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE"
270 PRINTTAB(15)"[211]ETUP MENU":PRINTTAB(15)"[163][163][163][163][163][163][163][163][163][163]"
280 PRINT" [211]YSOP NAME[160] : "SY$:PRINT" [194][194][211] NAME[160] : "BB$
290 PRINT" [211]YSTEM PSWD[160]: "PW$:PRINT" [211]YSOP PSWD[160] : "PS$
300 PRINT" [207]PENING MSG[160]: "F1$:PRINT" [205]AIN MENU[160] : "F2$
310 PRINT" [204]OGOFF MSG[160] : "F3$
320 PRINT" [211]YSTEM DRIVE[160] :"STR$(DP)","LEFT$(DP$,1):PRINT" [193]VAILABLE DRIVES[160]"
330 PRINT" [211]AVE CONFIGURATION[160]":PRINT" [204]OAD CONFIGURATION[160]":PRINT" [211]TART [194][194][211][160]"
340 D=4:TB=1:MX=15:GOSUB3920:POKE211,15:IFP>9THENPOKE211,20
345 P9=-23*(P<5)-16*(P>6ANDP<9)-5*(P=10):IFP9THENGOSUB2410
350 ONPGOTO360,380,400,410,,430,440,450,,470,760,,660,710,960
360 SY$=I$:GOTO460
380 BB$=I$:GOTO460
400 PW$=I$:GOTO460
410 PS$=I$:GOTO460
430 F1$=I$:GOTO460
440 F2$=I$:GOTO460
450 F3$=I$
460 PRINT""LEFT$(DN$,P+D)TAB(15)LEFT$(I$+SP$,P9):GOTO280
470 IFI$=""THEN280
480 J=0:FORI=1TO5:IFMID$(I$,I,1)=","THENJ=I:I=5
490 NEXT:IFJ=0THEN520
500 A=VAL(MID$(I$,J+1)):IFA<0ORA>19THEN520
510 DP$=MID$(STR$(A),2)+":"
520 A=VAL(I$):IFA<8ORA>16THEN280
530 CLOSE15:OPEN15,A,15:CLOSE15:IF(128ANDST)=0THENDP=A
540 OPEN15,DP,15:GOTO280
660 PRINT#15,"S"DP$"\BBS CONFIG":OPEN2,DP,2,DP$+"\BBS CONFIG,S,W"
670 PRINT#2,Q$SY$:PRINT#2,Q$BB$:PRINT#2,Q$PW$:PRINT#2,Q$PS$:PRINT#2,Q$F1$
680 PRINT#2,Q$F2$:PRINT#2,Q$F3$:PRINT#2,DP:PRINT#2,Q$DP$
690 PRINT#2,DD:FORI=1TODD:PRINT#2,Q$DD$(I):PRINT#2,D%(I):PRINT#2,Q$D$(I):NEXT
700 CLOSE2:GOTO280
710 GOSUB720:GOTO280
720 OPEN2,DP,2,DP$+"\BBS CONFIG":INPUT#15,E:IFE>19THENCLOSE2:RETURN
730 INPUT#2,SY$,BB$,PW$,PS$,F1$,F2$,F3$,DP,DP$,DD
740 FORI=1TODD:INPUT#2,DD$(I),D%(I),D$(I):NEXT:CLOSE2:RETURN
760 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE":PP=P:P=1
770 PRINTTAB(9)"[196]ISK DEVICE SETUP MENU":PRINTTAB(9)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
780 PRINT" [196]IRECTORY CATEGORY [196]EVICE [196]RIVE":FORI=1TODD
790 PRINT" "LEFT$(DD$(I)+SP$,23)" "D%(I)TAB(35)LEFT$(D$(I),LEN(D$(I))-1);
800 PRINTTAB(38)"[160]":NEXT:PRINTSP$:PRINT" [193]DD A DIRECTORY[160] "
810 PRINT" [196]ELETE A DIRECTORY[160]":PRINT" [209]UIT[160] ":PRINTSP$
820 D=5:TB=1:MX=DD+4:GOSUB3920:IFP=MXTHENP=PP:GOTO260
830 SYSML+18:IFP=MX-1ANDD>1THENDL=1:GOTO780
840 IFP=MX-2THENDL=0:P=P-1:PRINT"[145]";:IFDD=10THEN780
850 IFDL=0ORDD=1THEN890
860 FORI=P+1TODD:DD$(I-1)=DD$(I):D%(I-1)=D%(I):D$(I-1)=D$(I):NEXT
870 DL=0:DD=DD-1:IFP>DDTHENP=DD
880 GOTO780
890 POKE211,1:P9=23:GOSUB2410:IFI$>""THENDD$(P)=I$
900 IFI$=""ANDP=MX-1THEN780
910 PRINT"[145]";:POKE211,27:P9=2:GOSUB2410:A=VAL(I$):IFA>=8ANDA<=15THEND%(P)=A
920 PRINT"[145]";:POKE211,35:P9=2:GOSUB2410:A=VAL(I$)
930 IFA>=0ANDA<20THEND$(P)=MID$(STR$(A),2)+":"
940 IFP>DDTHENDD=P
950 GOTO780
960 RN=8-(PEEK(56577)AND8):IFPEEK(M1+4)AND1THEN980
970 PRINT"[147][211]ET [207]-[193] SWITCH TO [193]NSWER AND HIT [210]ETURN[146]":WAIT198,1:GETA$
980 PRINT"[147][204]AST CALLER: "LC$:PRINT"[207]FF AT : "OF$
990 PRINT"[206]UMBER OF CALLS :"NC:PRINT"[211]YSOP CALLS :"SC
1000 PRINT"[213]PLOADS :"NU:PRINT"[196]OWNLOADS :"ND
1010 PRINT"[198]EEDBACK :"NF
1020 PRINT"[201]NITIALIZING MODEM...":BD=MB:POKE780,MB:SYSML+33:SYSMD+9
1030 PRINT"[145][215]AITING FOR CALL... "
1040 PRINT"[198]1[146]:[209]UIT [198]3[146]:[204]OCAL MODE [198]7[146]:[211]ETUP MENU"
1050 POKESA+14,PEEK(SA+14)AND127:LC=0:XP=0:SY=0:CD=0
1060 DD$=DD$(1):DV=D%(1):DV$=D$(1):CLOSE14:OPEN14,DV,15
1070 SYSML+9:IF(PEEK(56577)AND8)=RNTHEN1130
1080 SYSSL+6:IFPEEK(780)THEN1160
1090 GETA$:IFA$="[133]"THEN2250
1100 IFA$="[136]"THEN250
1110 IFA$="[134]"THENPRINT"[147] [204]OCAL MODE ":POKESA+14,PEEK(SA+14)OR128:SYSMD+3:LC=1:GOTO1170
1120 GOTO1070
1130 PRINT"[195]ALL ANSWERED...WAITING FOR CARRIER":SYSMD+6
1140 SYSSL+6:IFPEEK(780)=0THEN980
1150 BD=PEEK(M1+1):POKE780,BD:SYSML+33
1160 PRINT"[147] "BD$(BD)" BAUD CONNECTION "
1170 PRINT" [146][157]";:S$="[133][215]ELCOME TO "+BB$+" ON [206]OVATERM 9.3[133]":SYSOP
1180 S$="[133][197]NTER YOUR NAME: ":SYSOP:P9=25:GOSUB2510:IFI$=""THEN1180
1190 N$=I$:TR=0:IFPW$=""THEN1230
1200 S$="[133][197]NTER SYSTEM PASSWORD: ":SYSOP:P9=25:GOSUB2510:IFI$=PW$THEN1230
1210 S$="[133][201]NVALID PASSWORD[133]":SYSOP:TR=TR+1:IFTR<3THEN1200
1220 S$="[133][193]CCESS DENIED![133]":SYSOP:GOTO1980
1230 GOSUB3880:T1$=TM$:TR=0:IFN$<>SY$THEN1300
1240 S$="[133][197]NTER SYSOP PASSWORD: ":SYSOP:P9=25:GOSUB2510:IFI$=PS$THEN1270
1250 S$="[133][201]NVALID PASSWORD[133]":SYSOP:TR=TR+1:IFTR<2THEN1240
1260 GOTO1220
1270 S$="[133][211]YSOP ACCESS GRANTED[133]":SYSOP:SY=1
1280 OPEN2,DP,2,DP$+"FEEDBACK":INPUT#15,E:CLOSE2
1290 IFE=0THENS$="[133][217]OU HAVE MESSAGES WAITING.[133]":SYSOP
1300 IFF1$>""THENF$=F1$:GOSUB2690
1310 PRINT" [146][157]";:IFXPTHEN1420
1320 IFF2$>""THENF$=F2$:GOSUB2690:IFE<20THEN1420
1330 S$="[133]"+LEFT$(SP$,(33-LEN(BB$))/2)+BB$+" MENU[133]":SYSOP
1340 S$="[133][$][196]IRECTORY [[210]]EAD TEXTFILE[133]":SYSOP
1350 S$="[#][195]HANGE DRIVE [[212]]ERMINATE[133]":SYSOP
1360 S$="[[195]]HAT REQUEST [[213]]PLOAD FILE[133]":SYSOP
1370 S$="[[196]]OWNLOAD FILE [[215]]RITE TEXTFILE[133]":SYSOP
1380 S$="[[198]]EEDBACK TO SYSOP [[216]]PERT TOGGLE[133]":SYSOP
1390 S$="[[208]]ROTOCOL[133]":SYSOP:IFSY=0THEN1420
1400 S$="[133][@][196]ISK COMMAND [[218]][210]EAD FEEDBACK[133]":SYSOP
1410 S$="[[204]]OG OF CALLERS[133]":SYSOP
1420 S$="[133][$,#,[195],[196],[198],[208],[210],[212],[213],[215],[216]]: ":SYSOP
1430 GOSUB2630:IFCDTHEN1990
1440 IFA$="?"ORA$="H"THENS$="[205]ENU[133]":SYSOP:GOTO1320
1450 IFA$="@"ANDSYTHENS$="[196]ISK COMMAND[133]":SYSOP:GOTO3830
1460 IFA$="$"THENS$="[196]IRECTORY[133]":SYSOP:GOTO1610
1470 IFA$="#"THENS$="[195]HANGE DRIVE[133]":SYSOP:GOTO2130
1480 IFA$="C"THENS$="[195]HAT[133]":SYSOP:GOTO1660
1490 IFA$="D"THENS$="[196]OWNLOAD[133]":SYSOP:GOTO2730
1500 IFA$="F"THENS$="[198]EEDBACK[133]":SYSOP:GOTO3360
1510 IFA$="L"ANDSYTHENS$="[204]OG OF CALLERS[133]":SYSOP:GOTO3800
1520 IFA$="P"THENS$="[208]ROTOCOL[133]":SYSOP:GOTO1740
1530 IFA$="R"THENS$="[210]EAD TEXTFILE[133]":SYSOP:GOTO1900
1540 IFA$="T"THENS$="[212]ERMINATE[133]":SYSOP:GOTO1950
1550 IFA$="U"THENS$="[213]PLOAD[133]":SYSOP:GOTO3090
1560 IFA$="W"THENS$="[215]RITE TEXTFILE[133]":SYSOP:GOTO2050
1570 IFA$="X"THENS$="[197]XPERT TOGGLE[133]":SYSOP:GOTO2110
1580 IFA$="Z"ANDSYTHENS$="[210]EAD FEEDBACK[133]":SYSOP:GOTO3770
1590 IFA$=CHR$(13)THEN1310
1600 GOTO1430
1610 IFDD$>""THENS$="[133][196]IRECTORY: "+DD$+"[133]":SYSOP
1620 S$="[133]":SYSOP:OPEN1,DV,0,"$"+LEFT$(DV$,LEN(DV$)-1):GET#1,A$,A$
1630 SYSML+54:IFMID$(Z$,7,1)="\"ANDSY=0THEN1630
1640 S$=Z$+"[133]":SYSOP:IFRIGHT$(Z$,1)<>"."ANDRIGHT$(Z$,4)<>"FREE"THEN1630
1650 CLOSE1:GOSUB2240:GOTO1310
1660 S$="[133][208]AGING SYSOP...":SYSOP:J=0:FORI=1TO5:S$=".":SYSOP
1670 FORT=1TO1500:NEXT:GETA$:IFA$="[133]"THENJ=1:I=5
1680 NEXT:IFJ=0THENS$="[133][133]"+SY$+" IS NOT AVAILABLE.[133]":GOTO1310
1690 S$="[133][133][197]NTERING CHAT[133][133]":SYSOP
1700 GETA$:GET#5,B$:IFA$>""THENS$=A$:SYSOP
1710 IFB$>""THENS$=CHR$(PEEK(RV+ASC(B$))):SYSOP
1720 IFA$<>"[133]"THEN1700
1730 S$="[133][204]EAVING CHAT[133]":SYSOP:GOTO1310
1740 OPEN1,DP,0,"$"+DV$+"PRT.*":GOSUB2340:IFERTHENCLOSE1:GOTO1310
1750 GET#1,A$,A$:SYSML+54:FL=0
1760 SYSML+54:IFRIGHT$(Z$,1)="."ORRIGHT$(Z$,4)="FREE"THEN1810
1770 F$="":FORI=11TO22:A$=MID$(Z$,I,1):IFA$=CHR$(34)THENI=22:GOTO1790
1780 F$=F$+A$
1790 NEXT:IFF$=""THEN1760
1800 FL=FL+1:F$(FL)=F$:GOTO1760
1810 CLOSE1:IFFL=0THENS$="[133][206]O PROTOCOL FILES[133]":GOTO1310
1820 S$="[133][211]ELECT PROTOCOL:[133][133]":SYSOP
1830 FORI=1TOFL:S$=CHR$(I+192)+") "+F$(I)+"[133]":SYSOP:NEXT:S$="[133][211]ELECT: ":SYSOP
1840 GOSUB2630:IFCDTHEN1990
1850 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
1860 IFA$<"A"ORA$>CHR$(FL+64)THEN1840
1870 S$=CHR$(ASC(A$)+128)+"[133]":SYSOP:P=ASC(A$)-64:F$="PRT."+F$(P)
1880 OPEN2,DV,0,DV$+F$:GOSUB2340:CLOSE2:IFER=0THENGOSUB4340:PT$=F$(P):GOSUB3070
1890 GOTO1310
1900 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
1905 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
1910 S$="[133]":SYSOP:OPEN2,DV,2,DV$+I$+",S":GOSUB2340:IFERTHEN1940
1920 POKE781,2:SYSML+60:F=ST:SYSOP:IFF=0THEN1920
1930 GOSUB2240
1940 CLOSE2:GOTO1310
1950 GOSUB2360:IFY=0THEN1310
1960 IFF3$>""THENF$=F3$:GOSUB2690
1970 S$="[133][199]OODBYE![133]":SYSOP
1980 SYSMD:SYSSL+6:IFPEEK(780)THENFORT=1TO2500:NEXT:GOTO1980
1990 GOSUB3880:PRINT" ":PRINTN$" LOGGED OUT AT "TM$
2000 OPEN2,DP,2,DP$+"\CALLER LOG,S,A":INPUT#15,E
2010 IFE>19THENCLOSE2:OPEN2,DP,2,DP$+"\CALLER LOG,S,W"
2020 PRINT#2,LEFT$(N$+"...............................",23)T1$"-"TM$:CLOSE2
2030 LC$=N$:OF$=TM$:NC=NC+1:IFSYTHENSC=SC+1
2040 GOSUB4090:GOTO980
2050 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
2060 OPEN2,DV,2,DV$+I$+",S,W":GOSUB2340:IFERTHEN2100
2070 S$="[133][197]NTER TEXT ONE LINE AT A TIME.[133]":SYSOP
2080 S$="[197]NTER THE @ SYMBOL BY ITSELF TO END.[133][133]":SYSOP
2090 P9=78:GOSUB2510:IFI$<>"@"THENSYSML+24:PRINT#2,I$:SYSML+21:GOTO2090
2100 CLOSE2:GOTO1310
2110 XP=1-XP:IFXPTHENS$="[133][197]XPERT MODE [207][206][133]":SYSOP:GOTO1310
2120 S$="[133][197]XPERT MODE [207][198][198][133]":SYSOP:GOTO1310
2130 IFDD=1THENS$="[133][207]NLY ONE DRIVE AVAILABLE[133]":SYSOP:GOTO1310
2140 S$="[133][211]ELECT DRIVE:[133][133]":SYSOP:FORI=1TODD:S$=CHR$(I+192)+") ":SYSOP
2150 IFDD$(I)>""THENS$=DD$(I)+"[133]":GOTO2170
2160 S$="[196]EVICE"+STR$(D%(I))+", [196]RIVE "+LEFT$(D$(I),LEN(D$(I))-1)+"[133]"
2170 SYSOP:NEXT:S$="[133][211]ELECT: ":SYSOP
2180 GOSUB2630:IFCDTHEN1990
2190 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
2200 IFA$<"A"ORA$>CHR$(DD+64)THEN1840
2210 D=ASC(A$)-64:S$=CHR$(D+192)+"[133]":SYSOP:DD$=DD$(D):DV=D%(D):DV$=D$(D)
2220 CLOSE14:OPEN14,DV,15:CLOSE14:IF128ANDSTTHEN2140
2230 OPEN14,DV,15:GOTO1310
2240 IFXPTHENRETURN
2245 S$="[133]* [200]IT A KEY *":SYSOP:GOSUB2630:S$="[133]":SYSOP:RETURN
2250 PRINT"[211]AVE STATS? [146][157]";
2260 GETA$:IFA$<>"Y"ANDA$<>"N"THEN2260
2270 IFA$="N"THENPRINT"NO":GOTO2300
2280 PRINT"YES":PRINT#15,"S"DP$"\STATS":OPEN2,DP,2,DP$+"\STATS,S,W":PRINT#2,Q$LC$
2290 PRINT#2,Q$OF$:PRINT#2,NC:PRINT#2,SC:PRINT#2,NU:PRINT#2,ND:PRINT#2,NF:CLOSE2
2300 POKE6,255:OPEN2,DP,0,DP$+"PROG MENU":INPUT#15,E:CLOSE2:IFE>19THEN2320
2310 LOADDP$+"PROG MENU",DP
2320 OPEN2,DP,0,DP$+"NOVATERM ?.?*":INPUT#15,E:CLOSE2:IFE>19THENEND
2330 LOADDP$+"NOVATERM ?.?*",DP
2340 ER=0:INPUT#14,E,E$:IFE>19THENER=1:S$="[133]"+E$+"[133]":SYSOP
2350 RETURN
2360 S$="[133][193]RE YOU SURE? ":SYSOP
2370 GOSUB2630:IFCDTHENY=0:RETURN
2380 IFA$="Y"THENS$="YES[133]":SYSOP:Y=1:RETURN
2390 IFA$="N"THENS$="NO[133]":SYSOP:Y=0:RETURN
2400 GOTO2370
2410 I$="":OPEN9,3
2420 POKE212,0:GET#9,B$:PRINT"[157]"B$"[146][157]";
2430 GETA$:IFA$=""THEN2430
2440 IF(ASC(A$)AND127)<32THEN2470
2450 IFLEN(I$)=P9THEN2430
2460 I$=I$+A$:PRINTA$;:GOTO2420
2470 IFA$=CHR$(20)ANDI$>""THENI$=LEFT$(I$,LEN(I$)-1):PRINT" [157][157] [157]";:GOTO2420
2480 IFA$=CHR$(13)THENPRINTB$:CLOSE9:RETURN
2490 IFA$=""THENA$=B$:GOTO2450
2500 GOTO2430
2510 I$=""
2520 IFLC=0THENGET#5,B$:IFB$>""THEN2560
2530 IFLC=0THENSYSSL+6:IFPEEK(780)=0THENI$="":CD=1:RETURN
2540 GETA$:IFA$=""THEN2520
2550 GOTO2570
2560 A$=CHR$(PEEK(RV+ASC(B$)))
2570 IF(ASC(A$)AND127)<32THEN2600
2580 IFLEN(I$)=P9THEN2520
2590 I$=I$+A$:S$=A$:SYSOP:GOTO2520
2600 IFA$=CHR$(20)ANDI$>""THENI$=LEFT$(I$,LEN(I$)-1):S$=A$:SYSOP:GOTO2520
2610 IFA$=CHR$(13)THENS$=A$:SYSOP:RETURN
2620 GOTO2520
2630 IFLC=0THENGET#5,A$:IFA$>""THEN2660
2640 IFLC=0THENSYSSL+6:IFPEEK(780)=0THENCD=1:RETURN
2650 GETA$:IFA$=""THEN2630
2660 A=PEEK(RV+ASC(A$)):IFA>=97ANDA<=122THENA=A-32
2670 IFA>=193ANDA<=218THENA=A-128
2680 A$=CHR$(A):RETURN
2690 OPEN2,DP,2,DP$+F$:INPUT#15,E:IFE>19THENCLOSE2:RETURN
2700 S$="[133]":SYSOP
2710 POKE781,2:SYSML+60:F=ST:SYSOP:IFF=0THEN2710
2720 CLOSE2:RETURN
2730 IFLCTHENS$="[133][195]AN'T DOWNLOAD IN LOCAL MODE[133]":SYSOP:GOTO1310
2735 S$="[133][208]ROTOCOL: "+PT$+"[133]":SYSOP:TT=0:IF(PEEK(PT+14)AND8)THEN2890
2740 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
2750 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
2760 TS=0:OPEN1,DV,0,"$"+DV$+I$:GOSUB2340:IFERTHENCLOSE1:GOTO1310
2770 GET#1,A$,A$:SYSML+54:SYSML+54:CLOSE1
2780 IFRIGHT$(Z$,1)="."ORRIGHT$(Z$,4)="FREE"THENTS=1
2790 IFTSTHENS$="[133][198]ILE NOT FOUND[133]":SYSOP:GOTO1310
2810 TT$=MID$(Z$,25,3):TP$=LEFT$(TT$,1):TT=-(TP$="P")-2*(TP$="S")-3*(TP$="U")
2820 S$="[133][198]ILE NAME: "+I$+"[133][198]ILE TYPE: "+TT$+"[133][198]ILE BLOCKS:"+STR$(VAL(Z$))+"[133]"
2830 SYSOP:OPEN2,DV,2,DV$+I$:GOSUB2340:IFERTHENCLOSE2:GOTO1310
2840 GOSUB3355:S$="[133][194][194][211] READY TO SEND FILE[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
2850 PRINT" ":PRINT"[194]LOCKS SENT : [197]RRORS :";
2860 POKEPT+16,TT:SYSPT-9:PRINT:ND=ND+1
2870 IFPEEK(PT+15)THENS$="[133][196]OWNLOAD ABORTED[133]":SYSOP:ND=ND-1
2880 CLOSE2:GOTO1310
2890 S$="[133][197]NTER A BLANK FILE NAME TO END.[133][133]":SYSOP:FL=0
2900 S$="[206]AME OF FILE"+STR$(FL+1)+": ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN2950
2910 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
2920 OPEN2,DV,2,DV$+I$:INPUT#14,E:CLOSE2:IFE>19THEN2900
2940 FL=FL+1:F$(FL)=I$:IFFL<9THEN2900
2950 F$(FL+1)="":IFFL=0THEN1310
2960 S$="[133][194][194][211] READY TO SEND FILES[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
2970 SYSPT-9:FF=0:FORY=1TOFL+1:I$=F$(Y):IFI$=""THEN3030
2980 OPEN1,DV,0,"$"+DV$+I$:GOSUB2340:IFERTHENCLOSE1:GOTO1310
2990 GET#1,A$,A$:SYSML+54:SYSML+54:CLOSE1
3000 TP$=MID$(Z$,25,1):TT=-(TP$="P")-2*(TP$="S")-3*(TP$="U")
3010 OPEN2,DV,2,DV$+I$:GOSUB2340:IFERTHENCLOSE2:GOTO3050
3020 PRINT" ":PRINT"[211]ENDING "I$:PRINT"[194]LOCKS SENT : [197]RRORS :";
3030 POKEPT+16,TT:SYSPT-9:CLOSE2:PRINT
3040 IFPEEK(PT+15)THENY=FL+1
3050 FF=FF+1:NEXT:IFPEEK(PT+15)THENS$="[133][196]OWNLOAD ABORTED[133]":SYSOP:FF=FF-1
3060 ND=ND+FF:GOTO1310
3070 POKEPT,1:POKEPT+18,DV:POKEPT+21,0:POKEPT+23,SP:POKEPT+24,VAL(DV$)
3080 POKEPT+14,PEEK(PT+14)OR16:RETURN
3090 IFLCTHENS$="[133][195]AN'T DOWNLOAD IN LOCAL MODE[133]":SYSOP:GOTO1310
3095 FL=0:S$="[133][208]ROTOCOL: "+PT$+"[133]":SYSOP:IF(PEEK(PT+14)AND10)=0THEN3130
3100 B$="":IFPEEK(PT+14)AND8THENB$="S"
3110 H$="":S$="[133][200]IDE THE FILE"+B$+"? ":SYSOP:GOSUB2370:IFYTHENH$="\"
3115 GOSUB3355:S$="[133][194][194][211] READY TO RECEIVE FILE"+B$+"[133][208]RESS [195]TRL-[216] TO ABORT[133]"
3120 SYSOP:PRINT" [145]";:GOTO3300
3130 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
3140 OPEN2,DV,2,DV$+I$:INPUT#14,E:CLOSE2:IFE<20THENS$="[133][198]ILE EXISTS[133]":SYSOP:GOTO1270
3150 TP$="P":TT$="":IFPEEK(PT+14)AND1THEN3220
3160 S$="[133][198]ILE TYPE (PRG,SEQ,USR): ":SYSOP
3170 GOSUB2630:IFCDTHEN1990
3180 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
3190 IFA$<>"P"ANDA$<>"S"ANDA$<>"U"THEN3170
3200 TT=-(A$="P")-2*(A$="S")-3*(A$="U"):S$=MID$("PRGSEQUSR",TT*3-2,3)+"[133]":SYSOP
3210 TP$=A$
3220 H$="":S$="[133][200]IDE THE FILE? ":SYSOP:GOSUB2370:IFYTHENH$="\"
3225 GOSUB3355:IFPEEK(PT+14)AND1THEN3285
3230 TT$=","+TP$:OPEN2,DV,2,DV$+H$+I$+TT$+",W":GOSUB2340:FL=FL+1
3240 IFERAND(PEEK(PT+14)AND8)=0THEN1270
3250 IFERANDE=63THENI$=LEFT$(I$,LEN(I$)-1)+CHR$(ASC(RIGHT$(I$,1))+1):GOTO3230
3260 IFERTHENSYSPT-3:GOTO3310
3270 A=PEEK(PT+14)AND11:IFAANDA<8THENI$=""
3280 IFI$=""THENPRINT"[145]";:GOTO3300
3285 IFFL=0ORA=0THENS$="[133][194][194][211] READY TO RECEIVE FILE[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
3290 PRINT" ":PRINT"[210]ECEIVING: "I$TT$:PRINT"[194]LOCKS RECV : [197]RRORS :";
3300 POKEPT+16,TT:SYSPT-6:CLOSE2:PRINT:NU=NU+1
3310 IFPEEK(PT+15)THENS$="[133][213]PLOAD ABORTED![133]":SYSOP:PRINT#14,"S"DV$I$:NU=NU-1:GOTO1310
3320 IF(PEEK(PT+14)AND11)=0ORI$=""THEN1310
3330 TT=PEEK(PT+16):TP$=MID$("PSU",TT,1):IFTT=0THENTT=1:TP$="P"
3340 IFLEN(I$)>1THENIFMID$(I$,LEN(I$)-1,1)=","THENTP$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-2)
3350 I$=LEFT$(I$,16):GOTO3230
3355 S$="[133][193][211][195][201][201][160]TRANSLATION DURING TRANSFER? ":SYSOP:GOSUB2370:POKEPT+22,Y:RETURN
3360 LI=0:GOSUB3880
3370 S$="[133][198]ROM: "+N$+"[133][212]IME: "+TM$+"[133][133][197]NTER YOUR MESSAGE:[133][133]":SYSOP
3380 IFLI=20THENS$="[133][206]O MORE ROOM[133]":GOTO3440
3390 FORI=LI+1TO20:S$=RIGHT$(STR$(I),2)+": ":SYSOP:P9=74:GOSUB2510:IFI$=""THENLI=I-1:I=20
3400 IFI$>""THENMS$(I)=I$
3410 NEXT:IFLI=0ANDMS$(20)>""THENLI=20:S$="[133][206]O MORE ROOM[133]":SYSOP
3420 S$="[133][[193]]BORT [[195]]ONTINUE MESSAGE[133][[196]]ELETE LINE [[197]]DIT LINE[133]"
3430 SYSOP:S$="[[201]]NSERT LINE [[204]]IST MESSAGE[133][[211]]AVE MESSAGE[133]":SYSOP
3440 S$="[133][[193],[195],[196],[197],[201],[204],[211]]: ":SYSOP
3450 GOSUB2630:IFCDTHEN1990
3460 S$=A$+"[133]":IFA$="?"THENSYSOP:GOTO3420
3470 IFA$="A"THENSYSOP:GOTO3750
3480 IFA$="C"THENS$=S$+"[133]":SYSOP:GOTO3380
3490 IFA$="D"THENSYSOP:GOTO3580
3500 IFA$="E"THENSYSOP:GOTO3610
3510 IFA$="I"THENSYSOP:GOTO3650
3520 IFA$="L"THENSYSOP:GOTO3680
3530 IFA$="S"THENSYSOP:GOTO3700
3540 GOTO3450
3550 L=0:S$="[133][204]INE NUMBER: ":SYSOP:P9=2:GOSUB2510:IFI$=""THENRETURN
3560 L=VAL(I$):IFL<1ORL>LITHENL=0
3570 RETURN
3580 IFLI=0THEN3440
3590 GOSUB3550:IFL=0THEN3440
3600 FORI=L+1TOLI:MS$(I-1)=MS$(I):NEXT:LI=LI-1:GOTO3440
3610 GOSUB3550:IFL=0THEN3440
3620 S$="[133]"+RIGHT$(STR$(L),2)+": "+MS$(L)+"[133]"+RIGHT$(STR$(L),2)+": ":SYSOP
3630 P9=74:GOSUB2510:IFI$=""THEN3440
3640 MS$(L)=I$:GOTO3440
3650 IFLI=20THEN3440
3660 GOSUB3550:IFL=0THEN3440
3670 FORI=LITOLSTEP-1:MS$(I+1)=MS$(I):NEXT:LI=LI+1:MS$(L)="":GOTO3440
3680 S$="[133]":SYSOP:FORI=1TOLI:S$=RIGHT$(STR$(I),2)+": "+MS$(I)+"[133]":SYSOP:NEXT
3690 GOTO3440
3700 GOSUB2360:IFY=0THEN3440
3710 S$="[133][211]AVING...[133]":SYSOP:OPEN2,DP,2,DP$+"FEEDBACK,S,A":INPUT#15,E
3720 IFE>19THENCLOSE2:OPEN2,DP,2,DP$+"FEEDBACK,S,W"
3730 PRINT#2:PRINT#2,"[198]ROM: "N$:PRINT#2,"[212]IME: "TM$:PRINT#2
3740 FORI=1TOLI:PRINT#2,MS$(I):NEXT:CLOSE2:NF=NF+1:GOTO1310
3750 GOSUB2360:IFY=0THEN3440
3760 S$="[133][193]BORTED[133]":SYSOP:GOTO1310
3770 F$="FEEDBACK":GOSUB2690:IFE>19THENS$="[133][206]O FEEDBACK[133]":SYSOP:GOTO1310
3780 S$="[133][196]ELETE MESSAGES? ":SYSOP:GOSUB2370:IFYTHENPRINT#15,"S"DP$"FEEDBACK":NF=0
3790 GOTO1310
3800 F$="CALLER LOG":GOSUB2690:IFE>19THENS$="[133][206]O CALLER LOG[133]":SYSOP:GOTO1310
3810 S$="[133][196]ELETE CALLER LOG? ":SYSOP:GOSUB2370:IFYTHENPRINT#15,"S"DP$"CALLER LOG"
3820 GOTO1310
3830 S$="[133][196]EVICE"+STR$(DV)+", DRIVE "+LEFT$(DV$,LEN(DV$)-1)+"[133]":SYSOP
3840 S$="[133][196][207][211]>":SYSOP
3850 P9=50:GOSUB2510:IFI$=""THEN1310
3860 PRINT#15,I$:INPUT#15,E1$,E2$,E3$,E4$:S$="[133]"+E1$+","+E2$+","+E3$+","+E4$+"[133]":SYSOP
3870 GOTO3840
3880 H=PEEK(56587):M=PEEK(56586):A=PEEK(56584)
3890 A$="AM":IFH>127THENA$="PM":H=HAND127
3900 H=H-INT(H/16)*6:M=M-INT(M/16)*6:M$=MID$(STR$(M),2):IFM<10THENM$="0"+M$
3910 TM$=MID$(STR$(H),2)+":"+M$+A$:RETURN
3920 GOSUB4080:IFPEEK(SN+40*(P+D)+TB)=32ANDPEEK(SN+40*(P+D)+38)<>96THEN3980
3930 SYSML+18
3940 GETA$:IFA$=""THEN3940
3950 A=ASC(A$)AND127:IFA=13THEN4070
3960 IFA=19ORA=17THENSYSML+18
3970 IFA$="[133]"THENQQ=MX:GOTO4050
3980 IFA$=""THENP=P+1:PRINTA$;:IFP>MXTHENP=1
3990 IFA$="[145]"THENP=P-1:PRINTA$;:IFP<1THENP=MX
4000 IFA$=""THENP=1
4010 IFA=17ORA=19THEN3920
4020 IF(A<49ORA>57)AND(A<65ORA>MX+55)THEN3940
4030 QQ=A-48+(A>64)*7:IFQQ>MXTHEN3940
4040 IFPEEK(SN+40*(QQ+D)+TB)=32ANDPEEK(SN+40*(P+D)+38)<>96THENQQ=QQ+1
4050 IFQQ=PTHEN4070
4060 SYSML+18:P=QQ:GOSUB4080:SYSML+18
4070 RETURN
4080 PRINT""LEFT$(DN$,P+D)TAB(TB-1);:RETURN
4090 OPEN2,DP,2,DP$+"NOVA DATA 9.3":INPUT#15,E:IFE>19THENCLOSE2:RETURN
4100 INPUT#2,V$:IFV$<>"9.3"THENCLOSE2:RETURN
4110 FORI=2TO16:INPUT#2,A$:NEXT
4120 INPUT#2,BD,DI,D1,D2,D1$,D2$,D3,D3$,PN,PS,C1,C2,C3,B,RE,C8,C9,XO,XF,SP,SW,C,D,E,F
4130 FORI=0TO17:INPUT#2,A:POKESA+40+PEEK(678)*18+I,A:NEXT
4140 INPUT#2,MI$,MO$,PT$,FO$:CLOSE2
4150 POKEDT+25,B:POKEDT+32,C:POKEDT+8,D
4180 IFMO$>""THENF$="MODEM."+MO$:GOSUB4340:GOSUB4320:IFE>19THENMO$=A1$
4190 IFPT$>""THENF$="PRT."+PT$:GOSUB4340:GOSUB3070:IFE>19THENPT$=A2$
4200 IFFO$>""THENF$="FONT."+FO$:GOSUB4340:IFE>19THENFO$=""
4230 F$="ASC.STANDARD":GOSUB4340
4240 POKE53280,C1:POKE53281,C2:POKE646,C3:SYSML+57
4260 IFSW=0THENPOKEDT+10,0:GOTO4300
4270 POKEDT+10,1
4280 POKE781,-222*(SW=1)-223*(SW=2)-215*(SW=3):SYSML+63:A=PEEK(781)*256
4290 POKEA+1,0:POKEA+2,9
4300 IFMB>2THENMB=BD
4310 POKE780,BD:SYSML+33:RETURN
4320 IF(PEEK(M1+4)AND2)=0THENDI=0
4330 POKEM1+4,(PEEK(M1+4)AND3)ORDI*4:MB=PEEK(M1):RETURN
4340 SYSML+24:POKE780,DP:F$=DP$+F$:SYSSL+21:INPUT#15,E:CLOSE2:SYSML+21:RETURN